Power BI数据集内存挑战 |
您所在的位置:网站首页 › power bi 数据集 › Power BI数据集内存挑战 |
是不是常常有企业在和一些大数据集的客户合作的时候,我们的BI伙伴经常会面临这么一个挑战:我们是否有比较有效的的方法减少和降低内存的消耗,同时仍然可以看到应有的指标。 01接受挑战! 事实上,我们已经采取过多种优化措施:减少基数,删除不需要的列,并确保所需的数据加载到数据集中等。但即使我们这样做了,我们的数据集大小仍在Azure Analysis Services中消耗90GB的内存,所以并没有太大起色。 那还有没有更好的办法呢?下面跟大家分享一个技巧,我们可以通过以下步骤将数据集的大小缩减到37GB! 02原始数据集大小 如图所示,我们原来的PBIX原始大小为5.01MB。
当运行这个数据集时,它消耗了大约20MB的内存。 03使用十进制减少数据集大小 我们通过阅读有关数据类型的文档时,可以将数据类型从“十进制数”更改为“固定十进制数”,这样可以节省数据集的大小。 我们把数据类型变为固定小数,保留4位小数。 我们确保如果将列中的值更改为仅保留小数点后4位,总数将保持不变。 如下所示,将列SalesAmount_EUR的数据类型设置为“十进制数”。
接下来,我们保留4位小数的值,如下所示。
现在,当我们保存PBIX时,它从5.01MB变为4.18MB。
这样可以节省大约16%,最初我们认为这也还不错。 但是我们觉得应该还有办法能让数据集内存优化到更小,是什么呢?我们继续看下文。
04使用整数使数据集真正小而有效 有这么一个想法:如果现在可以将SalesAmount_EUR拆分到单独的列中怎么办? 那意味着我们可以两列整数。不仅如此,十进制值的基数也会大大减少。 我们立即开始尝试,并使用TSQL(你可以再次使用Power Query)将列拆为2列。但现在有个问题要解决的是:当我有一个负值时,要保证我的拆分列也为负! 拆分数据后,要确保拆分列的数据类型都设置为“整数”。
做到这一步,真心希望这可以满足我们的需求:大大节省数据集和内存大小。 当我保存文件时,它已降至1.75MB。
下面我们通过一个Power BI视觉文件,来测试对比看看我们到底可以节省了多少内存资源。
如上所示,数据集的大小减少了65%。 内存大小也从19MB减少到2.1MB。 现在,我需要在DAX度量中添加一些其他逻辑以将这两列组合在一起以表示相同的值。 我们也对此进行了测试,并且由于数据集的大小要小得多,因此结果是数据集的大小,数据的大小和列的层次结构的大小都变小,这意味着超快速的SSAS引擎可以更快地处理数据。 这是我们如何一次将这些值重新组合在一起 1 2 3 Sales Amount EUR = SUM ( Data[SalesAmount_EUR] ) + ( DIVIDE ( SUM ( 'Data'[SalesAmount_EUR_Cents] ), 10000 ) ) 05结论 正如我们所展示的,有时可以使用一些非常有创意的方法来减少数据集的大小,你们觉得呢? 技术交流 1.Power BI免费下载:http://www.yeacer.com/ Microsoft Power BI Desktop中文最新版:下载地址 2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。 Power Data技术交流群:702966126 (验证注明:博客园Power BI) 更多精彩内容请关注微信公众号:悦策PowerBI 如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |